// base error
export * from './base_error.ts';
export * from './base_exception.ts';
export * from './error_options.ts';
export * from './error_type.ts';

// error and exception
export * from './error.ts';
export * from './exception.ts';

// framework error and formatter
export * from './framework/framework_base_error.ts';
export * from './framework/formatter.ts';
/**
 * @deprecated use FrameworkErrorFormatter instead
 * keep this for compatible
 */
export { FrameworkErrorFormatter as FrameworkErrorFormater } from './framework/formatter.ts';

// http error
export * from './http/http_error.ts';

// http error 400 ~ 511
export { BadRequestError, BadRequestError as E400 } from './http/400.ts';
export { UnauthorizedError, UnauthorizedError as E401 } from './http/401.ts';
export { PaymentRequiredError, PaymentRequiredError as E402 } from './http/402.ts';
export { ForbiddenError, ForbiddenError as E403 } from './http/403.ts';
export { NotFoundError, NotFoundError as E404 } from './http/404.ts';
export { MethodNotAllowedError, MethodNotAllowedError as E405 } from './http/405.ts';
export { NotAcceptableError, NotAcceptableError as E406 } from './http/406.ts';
export { ProxyAuthenticationRequiredError, ProxyAuthenticationRequiredError as E407 } from './http/407.ts';
export { RequestTimeoutError, RequestTimeoutError as E408 } from './http/408.ts';
export { ConflictError, ConflictError as E409 } from './http/409.ts';
export { GoneError, GoneError as E410 } from './http/410.ts';
export { LengthRequiredError, LengthRequiredError as E411 } from './http/411.ts';
export { PreconditionFailedError, PreconditionFailedError as E412 } from './http/412.ts';
export { PayloadTooLargeError, PayloadTooLargeError as E413 } from './http/413.ts';
export { URITooLongError, URITooLongError as E414 } from './http/414.ts';
export { UnsupportedMediaTypeError, UnsupportedMediaTypeError as E415 } from './http/415.ts';
export { RangeNotSatisfiableError, RangeNotSatisfiableError as E416 } from './http/416.ts';
export { ExpectationFailedError, ExpectationFailedError as E417 } from './http/417.ts';
export { ImATeapotError, ImATeapotError as E418 } from './http/418.ts';
export { MisdirectedRequestError, MisdirectedRequestError as E421 } from './http/421.ts';
export { UnprocessableEntityError, UnprocessableEntityError as E422 } from './http/422.ts';
export { LockedError, LockedError as E423 } from './http/423.ts';
export { FailedDependencyError, FailedDependencyError as E424 } from './http/424.ts';
export { UnorderedCollectionError, UnorderedCollectionError as E425 } from './http/425.ts';
export { UpgradeRequiredError, UpgradeRequiredError as E426 } from './http/426.ts';
export { PreconditionRequiredError, PreconditionRequiredError as E428 } from './http/428.ts';
export { TooManyRequestsError, TooManyRequestsError as E429 } from './http/429.ts';
export { RequestHeaderFieldsTooLargeError, RequestHeaderFieldsTooLargeError as E431 } from './http/431.ts';
export { UnavailableForLegalReasonsError, UnavailableForLegalReasonsError as E451 } from './http/451.ts';
export { InternalServerError, InternalServerError as E500 } from './http/500.ts';
export { NotImplementedError, NotImplementedError as E501 } from './http/501.ts';
export { BadGatewayError, BadGatewayError as E502 } from './http/502.ts';
export { ServiceUnavailableError, ServiceUnavailableError as E503 } from './http/503.ts';
export { GatewayTimeoutError, GatewayTimeoutError as E504 } from './http/504.ts';
export { HTTPVersionNotSupportedError, HTTPVersionNotSupportedError as E505 } from './http/505.ts';
export { VariantAlsoNegotiatesError, VariantAlsoNegotiatesError as E506 } from './http/506.ts';
export { InsufficientStorageError, InsufficientStorageError as E507 } from './http/507.ts';
export { LoopDetectedError, LoopDetectedError as E508 } from './http/508.ts';
export { BandwidthLimitExceededError, BandwidthLimitExceededError as E509 } from './http/509.ts';
export { NotExtendedError, NotExtendedError as E510 } from './http/510.ts';
export { NetworkAuthenticationRequiredError, NetworkAuthenticationRequiredError as E511 } from './http/511.ts';
